Xceed Toolkit Plus for WPF v5.0 Documentation
In This Topic
    Retrieving a parent group
    In This Topic

    The following example demonstrates how to retrieve the parent group of the current item using the GetParentGroupFromItem method so that it can be collapsed. The implementation for the CollapseCurrentGroup method is provided below.

    XAML
    Copy Code
    <Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid">
      <Grid.Resources>
        <xcdg:DataGridCollectionViewSource x:Key="cvs_orders"
                                         Source="{Binding Source={x:Static Application.Current},
                                                          Path=Orders}">
          <xcdg:DataGridCollectionViewSource.GroupDescriptions>
            <xcdg:DataGridGroupDescription PropertyName="ShipCountry"/>
            <xcdg:DataGridGroupDescription PropertyName="ShipCity"/>
          </xcdg:DataGridCollectionViewSource.GroupDescriptions>
        </xcdg:DataGridCollectionViewSource>
      </Grid.Resources>
      <DockPanel>
        <Button Content="Collapse Group"
                 Click="CollapseCurrentGroup"
                DockPanel.Dock="Top"/>
        <xcdg:DataGridControl x:Name="OrdersGrid"
                              ItemsSource="{Binding Source={StaticResource cvs_orders}}"
                              DockPanel.Dock="Bottom"/>
      </DockPanel>
    </Grid>

    The following provides the implementation for the CollapseCurrentGroup method.

    VB.NET
    Copy Code
    Private Sub CollapseCurrentGroup( ByVal sender As Object, ByVal e As RoutedEventArgs )
      Dim context As DataGridContext = Me.OrdersGrid.CurrentContext
      Dim group As CollectionViewGroup = context.GetParentGroupFromItem( context.CurrentItem )
      context.CollapseGroup( group )
    End Sub
    C#
    Copy Code
    private void CollapseCurrentGroup( object sender, RoutedEventArgs e )
    {
      DataGridContext context = this.OrdersGrid.CurrentContext;
      CollectionViewGroup group = context.GetParentGroupFromItem( context.CurrentItem );
      context.CollapseGroup( group );
    }